package com.sykj.why.mongo.service;

import com.sykj.why.mongo.document.entity.ContentConfigT;
import com.sykj.why.mongo.dto.PageDTO;
import com.sykj.why.util.Page;

import java.util.List;

/**
 * @author Eleven
 * @date 2019/6/4
 * @desc 内容自定义字段业务访问层
 */

public interface ContentConfigTService extends BasicService<ContentConfigT> {

    /**
     * 添加内容自定义字段
     * @param contentConfigT
     */
    void saveContentConfig(ContentConfigT contentConfigT);

    /**
     * 删除内容自定义字段
     * @param id
     */
    void removeContentConfig(String id);

    /**
     * 修改内容自定义字段
     * @param contentConfigT
     */
    void updateContentConfig(ContentConfigT contentConfigT);

    /**
     * 启用/禁用内容自定义字段
     * @param id
     * @param flag
     */
    void disableOrEnable(String id,boolean flag);

    /**
     * 验证内容自定义字段名称是否重复
     * @param contentConfigT
     */
    void verifyName(ContentConfigT contentConfigT);

    /**
     * 通过id查询内容自定义字段
     * @param id
     * @return
     */
    ContentConfigT findById(String id);

    /**
     * 查询所有内容自定义字段
     * @return
     */
    List<ContentConfigT> findAll();

    /**
     * 分页查询内容自定义字段
     * @param pageDTO
     * @return
     */
    Page findByPage(PageDTO pageDTO);

}
